class Geo {
	public int a;
	public Geo(){
	}

	private class Point {
		public int x;
		public int y;
		public Point origine;

		public int getx() {
			return x;
		}

		public int gety() {
			return y;
		}

		public void setx(int l) {
			x = l;
			boolean b = (false == (gety()+1*a+3+origine.getx()*origine.origine.origine.origine.gety() >
			3+origine.getx()-y) || (false && (x>origine.getx(l,x,l,x,l*x+2))));
		}

		public void sety(int l) {
			y = l;
		}

		public void init (int xi,int yi) {
			x = xi;
			y = yi;
		}

		public void xtrans(int d){
			x = x + d;
		}

		public void ytrans(int d){
			y = y + d;
		}

		public Point milieu (Point p){
			Point m = new Point();
			m.init((x + p.x)/2, (y + p.y)/2);
			return m;
		}
		
		public Point(int a, int b){
			x = a;
			y = b;
			origine = null;
		}

		public Point(Point autre){
			x = autre.getx();
			y = autre.gety();
		}
	}


	private class PointCol extends Point {
		private int col;

		public  PointCol (int xi,int yi, int ci) {
			x = xi;
			y = yi;
			col = ci;
		}

		public void changer(int val){
			this.col = val;
		}

		public void init (int xi,int yi) {
			this.x = xi;
			this.y = yi;
			this.col = 84;
		}

		public int type () {
			return 2;
		} 

	}

	public void main ( int args ) {
		Point p = new Point();
		Point p1 = new Point();
		PointCol pc = new PointCol();
		int l;
		p.init(5,4);
		p1.init(6,2);
		pc.init(6,1);
		Point m ;
		m = p.milieu(p1);
		Point m1 ;
		m1 = p.milieu(pc);
		Point m2 ;
		m2 = pc.milieu(p);
		Point m3 ;
		m3 = pc.milieu(pc);
		l = p.type();
		p = pc;
		l = p.type();
	}
}
